package com.scse.bms.mapper;

import com.scse.bms.domain.UserVO;
import com.scse.bms.entity.UserRoleDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @Title: UserRoleDO
 * @Author: 吴赠禹
 * @Date: 2020/11/1
 * @Version: 1.0
 * @Description: 多表关联查询（t_customer、t_authority、t_customer_authority）
 */

@Repository
@Mapper
public interface UserRoleMapper {

    /**
     * 多表查询所有用户和对应的权限信息
     * @return
     */
    List<UserRoleDO> selectAllUserWithRole();

    /**
     * 游客注册成功（返回id），设为普通用户
     * 添加一行记录到用户-权限表{1: 游客, 2: 用户, 3: 读者, 4: 管理员}
     * @param userId
     * @return
     */
    int insertToAuthBe2(Integer userId);

    /**
     * 批量插入
     * @return
     */
    int insertToAuthByList(List<UserRoleDO> list);


    /**
     * 查询所有用户（用户表+权限表）
     * @param page
     * @param limit
     */
    List<UserVO> selectAllUser(@Param("page") int page, @Param("limit") int limit);

    /**
     * 用于管理员登录（用户名、密码）
     * @param username
     * @param password
     * @return
     */
    UserVO selectOneByUsernameAndPasswordUserVo(@Param("username") String username, @Param("password") String password);

}
